#pragma once

using namespace std;


typedef std::vector<Triangle>   triangleList;
typedef triangleList::iterator  triangleIterator;



class CGTriangulate
{
protected:
  CgalTriangulation        m_cgalTriangulation;
  static triangleList      m_triangles;
  mpf_t                    m_field;
public:
  CGTriangulate(void);
  ~CGTriangulate(void);
  void Triangulate();
  void AddCCWPoint(const figureVertice &);
  void Draw(const HWND &, const POINT &);
  void Clear();
protected:
  void AddTriangle(const Point *); //parameter as a 3 dimension array of Point
  double  GetFigureField();
};
